package com.neuedu.corejava.ch7;
/**
 * 20190802
 * 继承：
 * 1.继承使用extends关键词进行表示，子类可以通过继承共用父类的特征（属性）和行为（方法）
 * 2.语法：class 子类 extends  父类
 * 3.在java中继承属于单继承：一个子类只能有一个父类
 * 4.在子类构造方法中，可以使用super指向父类；调用父类的构造方法
 * 5.子类可以通过继承重用父类的代码，但这不是主要目标；
 *   继承更重要的目的是为了对父类的功能进行扩展，增加程序的可维护性，可扩展性
 * 6.子类可以重新父类的方法；子类可以扩展自己的方法
 * 7.在java中，所有类都有一个共同的父类：java.lang.Object;
 *   java的父类可以是直接父类，也指代父类的父类，直至Object类;
 *   JNI（native）-java本地调用接口，是多语言混合编程的接口，可以调用c语言代码
 * 8.在实例化子类对象时，会先执行父类的构造方法，生成一个父类对象；实例化子类对象一定会产生多个对象（根据子类与Object类间的关系确定）
 * @author admin
 *
 */

public class Manager extends Employee{
		public Manager() {
			//不编写super调用时，默认会调用父类的空参构造方法
			super();//在子类的构造方法中，可以使用super方法指向父类；调用父类的构造方法
			// TODO Auto-generated constructor stub
		}
		public Manager(String name, String sex, int age, String phone) {
			
			//this可以在构造方法中，调用自己的构造方法--一般用于多个构造方法
			//注意:不能同时使用this和super进行构造方法调用；
			//使用this或调super用构造方法时，代码必须放在第一行
			super(name,sex,age,phone);
			//this();
			//this().work();
			//work();//子类和父类都有work方法，不写this或super时默认调用子类的方法
			//equals(null);//子类没有equals方法，默认调用父类方法,可以使用this或super或不写进行调用
			//super.equals(null);
			//equals(null);
			
			//super(name,sex,age,phone);//调用父类带参构造方法
			
		}
		
		//@Override方法的重写，@Overload方法的重载
		//方法的重写发生在子类和父类之间，子类重写父类的方法
		//方法的重写可以使用@Override进行注解
		@Override
		public void work() {
			// TODO Auto-generated method stub
			//super.work();//调用父类
			
			//this.work();//递归调用,自己调用自己
			System.out.println("管理公司");
		}
		
		
		

}
